# 菜单
# 下拉菜单
# 弹出式菜单

import tkinter

root = tkinter.Tk()
root.title("菜单和下拉菜单")
root.geometry("600x350+400+200")

menu = tkinter.Menu(root)  # 生成菜单

# 创建下拉菜单file，并添加到menu
file = tkinter.Menu(menu, tearoff=0)  # 下拉菜单
file.add_command(label="打开")
file.add_command(label="保存")
file.add_command(label="关闭")
menu.add_cascade(label="文件", menu=file)  # 下拉菜单添加到菜单中

edit = tkinter.Menu(menu, tearoff=0)  # 下拉菜单
edit.add_command(label="复制")
edit.add_command(label="粘贴")
edit.add_separator()  # 下拉菜单添加分隔符
edit.add_command(label="剪切")
edit.add_command(label="清除")
menu.add_cascade(label="编辑", menu=edit)  # menu添加下拉菜单

about = tkinter.Menu(menu, tearoff=0)  # 下拉菜单
about.add_command(label="关于软件")
about.add_command(label="作者")
menu.add_cascade(label="help", menu=about)  # menu添加下拉菜单

# 主窗口root添加弹出式菜单，并与鼠标右键绑定
t_menu = tkinter.Menu(root, tearoff=0)
t_menu.add_command(label="复制")
t_menu.add_command(label="剪切")
t_menu.add_separator()  # 添加分割线
t_menu.add_command(label="清除")


def popupmenu(event):  # 定义右键事件处理函数
    t_menu.post(event.x_root, event.y_root)  # 单击鼠标使用post方法显示菜单


# 主窗口绑定右键点击事件
root.bind("<Button-3>", popupmenu)

# 菜单要使用主窗口的config方法添加到窗口中
root.config(menu=menu)

root.mainloop()  # 事件循环
